// LineSelectionWhiteboard
//
// This class represents the whiteboard space for one customer-line selection interaction.
// It will be protected by a monitor and will be used by a head customer to select the shortest line
//

class TheaterSelectionWhiteboard {
  public:
	//change constructor to pass in initial values for theater size
    TheaterSelectionWhiteboard();	// Initialize the TheaterSelectionWhiteboard object
    ~TheaterSelectionWhiteboard();				// De-allocate TheaterSelectionWhiteboard
    
	int getSeatsAvail();				// returns the number of seats that are left in the theater
    int getRowSeatsAvail(int rowNum); 	// returns the number of seats left in a particular row
	int getSeatsPerRow();				//returns the number of spaces in row
	int getNumRows();
    
	void setSeatsAvail(int value); 					//sets the total number of seats left in the theater
    void setRowSeatsAvail(int rowNum, int value); 	//sets the number of seats left per row
	void movieOver();								//resets the theater whiteboard data for next movie
	
	void decrementSeatsAvail(int value);					//decrements total number of avail seats by value passed in
	void decrementRowSeatsAvail(int rowNum); 	//decrements number of avail seats in a row by value passed in
	
	int findRowWithMostSeatsAvail();	//returns the row with the most seats avail
    

  private:
	int seatsAvail;			//total number of seats left in the theater
    int* rowSeatsAvail;		//number of available seats per row
	int numRows;			//number of total rows
	int seatsPerRow;		//number of seats per row
};
